<template>
    <!-- antd图标 -->
    <template v-if="type === 'antd'">
        <component :is="icon" :style="style" :class="className"></component>
    </template>
    <!-- font-awesome图标 -->
    <template v-if="type === 'fa'">
        <i class="fa" :class="[icon,className]" :style="style"></i>
    </template>
    <!-- img图标 -->
    <template v-if="type === 'img'">
        <img :src="icon" :style="style" :class="className">
    </template>
</template>

<script setup>
import { ref } from 'vue'

defineOptions({ name: 'dcIcon' })

defineProps({
    // 图标类型
    type: {
        type: String,
        default: 'antd'  // antd 或 fa 或 img
    },
    // 图标名称或者图标地址
    icon: {
        type: String,
    },
    // 样式
    style: {
        type: Object,
    },
    // 样式类名
    className: {
        type: String,
    }
})

</script>

<style scoped>
</style>